{"version":3,"file":"static/chunks/pages/games/tag/[tag]-592e633d097ed24b.js","mappings":"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","sources":["webpack://_N_E/?cc2c","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/index.tsx","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/OrderByProviders/Button/ProvidersCard/Content/Provider/index.tsx","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/OrderByProviders/Button/ProvidersCard/Content/index.tsx","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/OrderByProviders/Button/ProvidersCard/index.tsx","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/OrderByProviders/Button/index.tsx","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/OrderByProviders/index.tsx","webpack://_N_E/./src/components/Slots/SlotsCategory/GameCategoryHeader/OrderByProvidersRenderer/index.tsx","webpack://_N_E/./src/components/Slots/SlotsCategory/GameCategoryHeader/Info/index.tsx","webpack://_N_E/./src/components/Slots/SlotsCategory/GameCategoryHeader/index.tsx","webpack://_N_E/./src/pages/games/tag/[tag]/index.tsx","webpack://_N_E/../../packages/common/src/components/Checkbox/index.tsx","webpack://_N_E/../../packages/common/src/components/Navigate/index.tsx","webpack://_N_E/../../packages/common/src/components/SelectInput/variants.ts","webpack://_N_E/../../packages/common/src/hooks/useInfiniteScroll/index.ts","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/OrderByProviders/Button/ProvidersCard/Content/Provider/styles.module.scss","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/OrderByProviders/Button/ProvidersCard/styles.module.scss","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/OrderByProviders/Button/styles.module.scss","webpack://_N_E/./src/components/Slots/SlotsCategory/CasinoGameList/OrderByProviders/styles.module.scss","webpack://_N_E/./src/components/Slots/SlotsCategory/GameCategoryHeader/Info/styles.module.scss","webpack://_N_E/./src/components/Slots/SlotsCategory/GameCategoryHeader/styles.module.scss","webpack://_N_E/../../packages/common/src/components/Checkbox/styles.module.scss"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/games/tag/[tag]\",\n function () {\n return require(\"private-next-pages/games/tag/[tag]/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/games/tag/[tag]\"])\n });\n }\n ","import { useSelector } from 'react-redux';\nimport { RootState } from '@/lib/store';\nimport GameList from '@/components/core/Games/GameList';\nimport { useInfiniteDocumentScroll } from '@starsoft/common/hooks';\nimport { useGames } from '@/api/games';\nimport { useRouter } from 'next/router';\nimport { GameTagFilter } from '@/models/games/game-tag-filter.enum';\n\nexport default function CasinoGameList() {\n const { query } = useRouter();\n const tag: GameTagFilter | undefined = query.tag as GameTagFilter;\n\n const name: string = useSelector(\n (state: RootState) => state.casino.searchGame,\n );\n const providerIds: bigint[] = useSelector(\n (state: RootState) => state.casino.providersList,\n );\n\n const {\n games,\n error,\n isLoading,\n refetch,\n isFetchingNextPage,\n hasNextPage,\n fetchNextPage,\n } = useGames({\n limit: 50,\n query: name,\n providerIds,\n tag,\n });\n useInfiniteDocumentScroll({\n hasMore: hasNextPage ?? false,\n isLoading: (isLoading || isFetchingNextPage) ?? false,\n loadMore: fetchNextPage,\n });\n\n return (\n \n );\n}\n","import { useDispatch, useSelector } from 'react-redux';\nimport { ProviderProps } from './props';\nimport { handleProviderFilter } from '@/lib/store/casino/actions';\nimport { RootState } from '@/lib/store';\nimport { memo, useMemo } from 'react';\nimport { Checkbox } from '@starsoft/common/components';\nimport styles from './styles.module.scss';\n\nfunction Provider({ data, isLoading }: ProviderProps) {\n const dispatch = useDispatch();\n const providers: bigint[] = useSelector(\n (state: RootState) => state.casino.providersList,\n );\n const isChecked = useMemo(\n () => providers.includes(data?.id as bigint),\n [data?.id, providers],\n );\n\n function handleProvider(id: bigint) {\n dispatch(handleProviderFilter(id));\n }\n\n if (isLoading) {\n return (\n
\n {}} />\n
\n
\n );\n }\n\n return (\n handleProvider(data?.id as bigint)}\n >\n {}} isChecked={isChecked} />\n {data?.name}\n
\n );\n}\n\nexport default memo(Provider);\n","import { OrderByProvidersProviderCardContentProps } from './props';\nimport { useMemo } from 'react';\nimport Provider from './Provider';\nimport { ErrorCard } from '@starsoft/common/components';\n\nexport default function OrderByProvidersProviderCardContent({\n gameProviders,\n isFetchingNextPage,\n isLoading,\n refetch,\n error,\n}: OrderByProvidersProviderCardContentProps) {\n const Providers = useMemo(\n () =>\n gameProviders?.map(provider => (\n \n )),\n [gameProviders],\n );\n const Skeletons = useMemo(\n () =>\n Array.from({ length: 20 })?.map((_, i) => (\n \n )),\n [],\n );\n\n if (error) {\n return ;\n }\n\n if (isLoading) {\n return Skeletons;\n }\n\n return (\n <>\n {Providers}\n\n {isFetchingNextPage && Skeletons}\n \n );\n}\n","import { useGameProviders } from '@/api/game-providers';\nimport { OrderByProvidersProvidersCardProps } from './props';\nimport { useInfiniteScroll } from '@starsoft/common/hooks';\nimport { useClickOutside } from '@starsoft/common/hooks';\nimport OrderByProvidersProviderCardContent from './Content';\nimport styles from './styles.module.scss';\nimport { m } from 'framer-motion';\nimport { dropIn } from '@starsoft/common/components/SelectInput/variants';\n\nexport default function OrderByProvidersProvidersCard({\n handleClose,\n}: OrderByProvidersProvidersCardProps) {\n const {\n hasNextPage,\n isLoading,\n isFetchingNextPage,\n fetchNextPage,\n gameProviders,\n error,\n refetch,\n } = useGameProviders();\n const { ref } = useInfiniteScroll({\n hasMore: hasNextPage ?? false,\n isLoading: isLoading || isFetchingNextPage,\n loadMore: fetchNextPage,\n });\n useClickOutside({\n open: true,\n onClickOutside: handleClose,\n customRef: ref,\n });\n\n return (\n \n \n \n );\n}\n","import { useSelector } from 'react-redux';\nimport { RootState } from '@/lib/store';\nimport useTranslation from 'next-translate/useTranslation';\nimport { useToggle } from '@starsoft/common/hooks';\nimport { AnimatePresence } from 'framer-motion';\nimport OrderByProvidersProvidersCard from './ProvidersCard';\nimport styles from './styles.module.scss';\n\nexport default function OrderByProvidersButton() {\n const { t } = useTranslation('common');\n const [isOpen, toggle] = useToggle();\n const providers: bigint[] = useSelector(\n (state: RootState) => state.casino.providersList,\n );\n\n return (\n
\n \n \n {t('tab_providers')} {providers.length > 0 && `(${providers.length})`}\n \n\n \n \n\n \n {isOpen && }\n \n
\n );\n}\n","import useTranslation from 'next-translate/useTranslation';\nimport OrderByProvidersButton from './Button';\nimport styles from './styles.module.scss';\n\nexport default function OrderByProviders() {\n const { t } = useTranslation('common');\n\n return (\n
\n {t('suplier_label')}\n\n \n
\n );\n}\n","import OrderByProviders from '../../CasinoGameList/OrderByProviders';\nimport { GameTagFilter } from '@/models/games/game-tag-filter.enum';\nimport { useRouter } from 'next/router';\n\nexport default function OrderByProvidersRenderer() {\n const { query } = useRouter();\n const tag: GameTagFilter | undefined = query.tag as GameTagFilter;\n\n if (tag === GameTagFilter.Originals) {\n return null;\n }\n\n return ;\n}\n","import styles from './styles.module.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport useTranslation from 'next-translate/useTranslation';\nimport { useEffect, useMemo } from 'react';\nimport { handleResetAll } from '@/lib/store/casino/actions';\nimport OrderByProvidersRenderer from '../OrderByProvidersRenderer';\nimport { Navigate, NavigationBreadcrumbs } from '@starsoft/common/components';\nimport { GameTagFilter } from '@/models/games/game-tag-filter.enum';\nimport { useRouter } from 'next/router';\nimport { RootState } from '@/lib/store';\n\nexport default function GametagHeaderInfo() {\n const { query } = useRouter();\n const tag: GameTagFilter | undefined = query.tag as GameTagFilter;\n\n const gameTags = useSelector((state: RootState) => state.gameTags.gameTags);\n\n const dispatch = useDispatch();\n const { t } = useTranslation('common');\n\n const page = useMemo(\n () => gameTags.find(gameTag => gameTag?.slug == tag),\n [tag, gameTags],\n );\n\n function resetCasino() {\n return () => {\n dispatch(handleResetAll());\n };\n }\n\n useEffect(resetCasino, [tag, dispatch]);\n\n if (!page) {\n return ;\n }\n\n return (\n
\n 81\n ? page?.name\n : t(t(`game-tag:${page?.id}.name`) ?? 'tab_all', {\n app_provider: process.env.NEXT_PUBLIC_BET_NAME,\n })\n }\n />\n\n \n
\n );\n}\n","import GameSearchInput from '../../GameSearchInput';\nimport styles from './styles.module.scss';\nimport GameCategoryHeaderInfo from './Info';\n\nexport default function GameCategoryHeader() {\n return (\n
\n \n \n
\n );\n}\n","import { prefetchGames } from '@/api/games/queries/useGames/prefetch';\nimport Layout from '@/components/core/Layout';\nimport CasinoGameList from '@/components/Slots/SlotsCategory/CasinoGameList';\nimport GameCategoryHeader from '@/components/Slots/SlotsCategory/GameCategoryHeader';\nimport { Language } from '@/enums/language';\nimport { GetServerSidePropsResultWithMetadataAndServerState } from '@/interfaces/pages/getServerSidePropsResultWithMetadataAndDehydratedState';\nimport { SSRCookies } from '@/interfaces/ssr-cookies.interface';\nimport { generateCasinoMetadata } from '@/lib/metadata';\nimport { mainPrefetchs } from '@/lib/prefetch';\nimport { GameTagFilter } from '@/models/games/game-tag-filter.enum';\nimport { fetchServerSideGameTags } from '@/serverApi/game-tags';\nimport { dehydrate, QueryClient } from '@tanstack/react-query';\nimport { GetServerSidePropsContext } from 'next';\n\nexport default function GameTagPage() {\n return (\n \n \n \n \n );\n}\n\nexport async function getServerSideProps({\n locale,\n params,\n req,\n}: GetServerSidePropsContext): Promise<\n GetServerSidePropsResultWithMetadataAndServerState<{ tag: string }>\n> {\n const queryClient = new QueryClient();\n const gameTags = await fetchServerSideGameTags();\n\n const selectedTag = gameTags?.find(_tag => _tag?.slug == params?.tag);\n\n const [metadata] = await Promise.all([\n generateCasinoMetadata({\n lang: locale as Language,\n title: `game-tag:${selectedTag?.id}.name`,\n follow: true,\n path: `/games/tag/${selectedTag?.slug}`,\n description: `game-tag:${selectedTag?.id}.tag_description`,\n }),\n prefetchGames(queryClient, {} as SSRCookies, {\n limit: 50,\n query: '',\n tag: params?.tag as unknown as GameTagFilter,\n }),\n mainPrefetchs({\n queryClient,\n req,\n }),\n ]);\n\n return {\n props: {\n metadata: JSON.stringify(metadata),\n dehydratedState: dehydrate(queryClient),\n tag: params?.tag as string,\n },\n };\n}\n","import { CheckboxProps } from './props';\nimport styles from './styles.module.scss';\n\n/**\n * A customizable checkbox component that can be checked/unchecked and show loading state\n *\n * @component\n * @param {Object} props - Component props\n * @param {boolean} props.isChecked - Whether the checkbox is checked\n * @param {() => void} props.onClick - Click handler function\n * @param {boolean} props.isLoading - Whether to show loading skeleton state\n * @param {boolean} props.isLarge - Whether to use large size variant\n * @param {boolean} props.disabled - Whether the checkbox is disabled\n * @returns {JSX.Element} Checkbox component or loading skeleton\n */\nexport function Checkbox({\n isChecked,\n onClick,\n isLoading,\n isLarge,\n disabled,\n}: CheckboxProps) {\n // Show loading skeleton if isLoading is true\n if (isLoading) {\n return (\n \n );\n }\n\n // Render checkbox with conditional styling based on state\n return (\n \n \n \n );\n}\n","import { useSettingsStore } from '@starsoft/common/hooks';\nimport { NavigateProps } from './props';\n\n/**\n * Navigate Component\n * A wrapper component that renders a router Navigate component based on the current settings.\n * Uses the router Navigate component defined in the settings store.\n * Returns null if no Navigate component is configured.\n *\n * @component\n * @param {NavigateProps} props - Props to be passed to the underlying Navigate component\n * @returns {JSX.Element|null} The rendered Navigate component or null if not configured\n *\n * @example\n * // Navigate to a new route\n * \n *\n * // Navigate with state and replace\n * \n */\nexport function Navigate(props: NavigateProps) {\n const { state } = useSettingsStore();\n const Navigate = state.settings.router.Navigate;\n\n if (!Navigate) {\n return null;\n }\n\n return ;\n}\n","import { Variants } from 'framer-motion';\n\nexport const dropIn: Variants = {\n hidden: {\n y: -30,\n opacity: 0,\n pointerEvents: 'none',\n },\n visible: {\n y: 0,\n opacity: 1,\n transition: {\n duration: 0.25,\n type: 'spring',\n damping: 25,\n stiffness: 500,\n },\n pointerEvents: 'all',\n },\n exit: {\n y: -30,\n opacity: 0,\n transition: {\n duration: 0.25,\n type: 'spring',\n damping: 25,\n stiffness: 500,\n },\n pointerEvents: 'none',\n },\n};\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { UseInfiniteScrollProps } from './props';\nimport { debounce } from 'lodash';\n\n/**\n * Custom hook to implement infinite scrolling functionality within a container.\n * It listens to the scroll event and triggers a callback to load more content\n * when the user scrolls near the bottom of the container.\n *\n * @param {UseInfiniteScrollProps} props - The properties for the infinite scroll hook.\n * @param {boolean} props.hasMore - Indicates if there are more items to load.\n * @param {boolean} props.isLoading - Indicates if a loading operation is currently in progress.\n * @param {Function} props.loadMore - The function to call to load more items.\n * @param {boolean} [props.condition=true] - An additional condition to check before loading more items.\n * @param {boolean} [props.reverse=false] - If true, loads more items when scrolled to the top.\n *\n * @returns {Object} - An object containing a ref to attach to the scrollable container and a boolean indicating if the scroll is at the bottom.\n * @returns {React.RefObject} ref - A ref to attach to the scrollable container.\n * @returns {boolean} isAtBottom - A boolean indicating if the scroll is at the bottom of the container.\n *\n * Example usage:\n * const { ref, isAtBottom } = useInfiniteScroll({\n * hasMore: true,\n * isLoading: false,\n * loadMore: () => fetchMoreItems(),\n * condition: true,\n * reverse: false,\n * });\n */\nexport function useInfiniteScroll({\n hasMore,\n isLoading,\n loadMore,\n condition = true,\n reverse = false,\n}: UseInfiniteScrollProps) {\n // Reference to the scrollable container element\n const ref = useRef(null);\n // State to track the distance from the bottom of the container\n const [distanceBottom, setDistanceBottom] = useState(0);\n // State to track if the scroll is at the bottom of the container\n const [isAtBottom, setIsAtBottom] = useState(false);\n\n /**\n * Memoized scroll event listener that checks if more content should be loaded.\n * It uses lodash's debounce to limit the rate at which the function is called.\n */\n const scrollListener = useCallback(\n debounce(() => {\n if (ref && ref.current) {\n const scrollTop = ref?.current?.scrollTop;\n const bottom = ref.current?.scrollHeight - ref.current?.clientHeight;\n\n // Set the distance from the bottom if not already set\n if (!distanceBottom) {\n setDistanceBottom(Math.round(bottom * 0.2));\n }\n\n // Load more items if scrolled to the top and conditions are met\n if (scrollTop === 0 && hasMore && !isLoading && condition && reverse) {\n loadMore();\n }\n\n // Load more items if scrolled near the bottom and conditions are met\n if (\n scrollTop > bottom - distanceBottom &&\n hasMore &&\n !isLoading &&\n condition &&\n !reverse\n ) {\n loadMore();\n }\n\n // Update the isAtBottom state based on scroll position\n if (scrollTop > bottom - distanceBottom) {\n setIsAtBottom(true);\n } else {\n setIsAtBottom(false);\n }\n }\n }, 100),\n [hasMore, loadMore, isLoading, distanceBottom, reverse, condition, ref],\n );\n\n /**\n * Effect hook to add the scroll event listener when the component mounts\n * and remove it when the component unmounts.\n */\n useEffect(() => {\n if (!(ref && ref?.current)) {\n return;\n }\n const element = ref?.current;\n\n // Add scroll event listener\n element?.addEventListener('scroll', scrollListener);\n // Cleanup function to remove the event listener\n return () => {\n element?.removeEventListener('scroll', scrollListener);\n };\n }, [scrollListener, ref]);\n\n // Return the ref to the scrollable container and the isAtBottom state\n return {\n ref,\n isAtBottom,\n };\n}\n\nexport type { UseInfiniteScrollProps };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container__text-skeleton\":\"styles_container__text-skeleton__ufnj_\",\"skeleton-animation\":\"styles_skeleton-animation__PKOEh\",\"container\":\"styles_container__5gVAX\",\"container__label\":\"styles_container__label__4BVTK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__1ifrP\",\"skeleton-animation\":\"styles_skeleton-animation__jA_Za\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__R6oe7\",\"container__button\":\"styles_container__button__591bj\",\"skeleton-animation\":\"styles_skeleton-animation__RvvlQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__X_bmR\",\"container__label\":\"styles_container__label__ONGvt\",\"skeleton-animation\":\"styles_skeleton-animation__DJBz3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__fVRPU\",\"skeleton-animation\":\"styles_skeleton-animation__Bp2VL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2G3bM\",\"skeleton-animation\":\"styles_skeleton-animation__s8zk6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"skeleton\":\"styles_skeleton__ZhhVL\",\"skeleton-animation\":\"styles_skeleton-animation__7TeNF\",\"checkbox\":\"styles_checkbox__Ct9_p\",\"checkbox--checked\":\"styles_checkbox--checked__4mpxe\",\"checkbox--large\":\"styles_checkbox--large__YsFTA\",\"checkbox--disabled\":\"styles_checkbox--disabled__47svz\",\"skeleton--large\":\"styles_skeleton--large___eBxv\"};"],"names":["window","__NEXT_P","push","__webpack_require__","CasinoGameList","isLoading","query","useRouter","tag","name","useSelector","state","casino","searchGame","providerIds","providersList","games","error","refetch","isFetchingNextPage","hasNextPage","fetchNextPage","useGames","limit","useInfiniteDocumentScroll","hasMore","loadMore","jsx_runtime","jsx","GameList","Content_Provider","memo","param","data","dispatch","useDispatch","providers","isChecked","useMemo","includes","id","jsxs","div","className","styles","Checkbox","onClick","handleProviderFilter","span","OrderByProvidersProviderCardContent","gameProviders","Providers","map","provider","Provider","concat","Skeletons","Array","from","length","_","i","ErrorCard","Fragment","OrderByProvidersProvidersCard","handleClose","useGameProviders","ref","useInfiniteScroll","useClickOutside","open","onClickOutside","customRef","m","variants","dropIn","initial","animate","exit","OrderByProvidersButton","t","useTranslation","isOpen","toggle","useToggle","button","disabled","AnimatePresence","OrderByProviders","OrderByProvidersRenderer","GameTagFilter","Originals","GametagHeaderInfo","gameTags","page","find","gameTag","slug","useEffect","handleResetAll","NavigationBreadcrumbs","to","lastPageLabel","currentPageLabel","app_provider","process","Navigate","replace","GameCategoryHeader","GameCategoryHeaderInfo","GameSearchInput","GameTagPage","Layout","disabledGap","isLarge","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","props","useSettingsStore","settings","router","hidden","y","opacity","pointerEvents","visible","transition","duration","type","damping","stiffness","condition","reverse","useRef","distanceBottom","setDistanceBottom","useState","isAtBottom","setIsAtBottom","scrollListener","useCallback","debounce","current","scrollTop","bottom","scrollHeight","clientHeight","Math","round","element","addEventListener","removeEventListener","module","exports"],"sourceRoot":""}